const path = require('path')
const CompressionPlugin = require('compression-webpack-plugin')
const webpack = require('webpack')
function resolve(dir) {
  return path.join(__dirname, dir)
}

// vue.config.js
module.exports = {
  // 生产环境
  // publicPath: '/erp-web/',
  outputDir: 'erp-web',
  publicPath: process.env.NODE_ENV === 'production' ? '/erp-web/' : './',
  // 如果你不需要生产环境的 source map，可以将其设置为 false 以加速生产环境构建。
  productionSourceMap: false,
  configureWebpack: config => {
    // 生产环境取消 console.log
    //     if (process.env.NODE_ENV === 'production') {
    //         config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
    //     }
  },
  chainWebpack: config => {
    config.plugin('provide').use(webpack.ProvidePlugin, [
      {
        'window.Quill': 'quill/dist/quill.js',
        Quill: 'quill/dist/quill.js'
      }
    ])
    config.resolve.alias
      .set('@$', resolve('src'))
      .set('@api', resolve('src/api'))
      .set('@assets', resolve('src/assets'))
      .set('@comp', resolve('src/components'))
      .set('@views', resolve('src/views'))
    // 生产环境，开启js\css压缩
    if (process.env.NODE_ENV === 'production') {
      config.plugin('compressionPlugin').use(
        new CompressionPlugin({
          test: /\.(js|css|less)$/, // 匹配文件名
          threshold: 10240, // 对超过10k的数据压缩
          deleteOriginalAssets: false // 删除源文件
        })
      )
    }
  },
  css: {
    loaderOptions: {
      less: {
        modifyVars: {
          /* less 变量覆盖，用于自定义 ant design 主题 */
          'primary-color': '#1890FF',
          'link-color': '#1890FF',
          'border-radius-base': '4px'
        },
        javascriptEnabled: true
      }
    }
  },
  devServer: {
    port: 3003,
    proxy: {
      //   // 本地
      //   '/api': {
      //     target: 'http://192.168.0.166:8033', // http://192.168.0.184:8033  https://61714sn097.oicp.vip
      //     // target: 'http://45840lf653.qicp.vip:80/eims',
      //     ws: false,
      //     pathRewrite: { '^/api': '' },
      //     changeOrigin: true
      //   }
      // 线上
      '/erp-web/api': {
        target: 'http://shanxihengyue.com:8081/',
        ws: false,
        // pathRewrite: { '^/api': '' }, // 线上
        changeOrigin: true
      }
    }
    //花生壳映射
    // disableHostCheck: true,
  },
  lintOnSave: undefined
}
